@echo off
color 0A
chcp 65001 >nul
echo ========================================
echo Python 3.11 环境设置脚本
echo 解决Python 3.13兼容性问题的最佳方案
echo ========================================

echo.
echo 第一步：检查conda是否可用...
conda --version >nul 2>&1
if errorlevel 1 (
    echo ❌ conda未安装或未正确配置PATH
    echo 请先安装Miniconda，参考以下步骤：
    echo 1. 下载：https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
    echo 2. 安装时勾选"Add to PATH"选项
    echo 3. 重新打开命令提示符
    echo 4. 再次运行此脚本
    pause
    exit /b 1
) else (
    echo ✅ conda可用
    conda --version
)

echo.
echo 第二步：创建Python 3.11专用环境...
conda create -n py311_nof python=3.11 -y
if errorlevel 1 (
    echo ❌ 环境创建失败
    pause
    exit /b 1
) else (
    echo ✅ Python 3.11环境创建成功
)

echo.
echo 第三步：激活环境并安装依赖...
call conda activate py311_nof
if errorlevel 1 (
    echo ❌ 环境激活失败
    pause
    exit /b 1
)

echo 当前Python版本:
python --version

echo.
echo 安装项目依赖...
pip install PyQt5==5.15.10
pip install numpy>=1.24.0
pip install pandas>=2.0.0
pip install matplotlib>=3.7.0
pip install openpyxl>=3.1.0
pip install psutil>=5.9.8
pip install pyinstaller>=5.13.0

echo.
echo 第四步：验证安装...
echo 测试关键模块：
python -c "import PyQt5; print('✅ PyQt5可用')"
python -c "import numpy as np; print(f'✅ NumPy {np.__version__} 可用')"
python -c "import pandas as pd; print(f'✅ Pandas {pd.__version__} 可用')"
python -c "import PyInstaller; print(f'✅ PyInstaller {PyInstaller.__version__} 可用')"

echo.
echo 第五步：测试打包功能...
echo 清理旧的构建文件...
if exist "build" rd /s /q "build"
if exist "dist" rd /s /q "dist"

echo 尝试PyInstaller打包...
python -m PyInstaller ^
    --onefile ^
    --windowed ^
    --exclude-module tkinter ^
    --exclude-module test ^
    --add-data "frame_schema.xml;." ^
    --hidden-import "PyQt5" ^
    --hidden-import "PyQt5.sip" ^
    --hidden-import "numpy" ^
    --hidden-import "pandas" ^
    --hidden-import "matplotlib.backends.backend_qt5agg" ^
    --hidden-import "openpyxl" ^
    --hidden-import "psutil" ^
    --name "成帧数据应用软件_Python311" ^
    main.py

if exist "dist\成帧数据应用软件_Python311.exe" (
    echo ========================================
    echo ✅ 打包成功！
    echo 可执行文件位置: %CD%\dist\成帧数据应用软件_Python311.exe
    echo 文件大小:
    dir "dist\成帧数据应用软件_Python311.exe" | findstr "成帧数据应用软件_Python311.exe"
    echo ========================================
) else (
    echo ⚠️ 打包未成功，但环境已正确设置
    echo 您可以手动调试打包问题
)

echo.
echo ========================================
echo 安装完成！
echo.
echo 使用说明：
echo 1. 每次开发前运行: conda activate py311_nof
echo 2. 然后可以正常使用: python main.py
echo 3. 打包使用: python -m PyInstaller 成帧数据应用软件.spec
echo.
echo 如需退出环境: conda deactivate
echo 如需删除环境: conda env remove -n py311_nof
echo ========================================

pause 